package imper.engine.battle.entity.impl;

import imper.engine.battle.entity.IBatMap;
import imper.engine.battle.entity.IBatMapCase;
import imper.engine.battle.entity.IBatPosition;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class BatMap implements IBatMap
{
	/** liste des cases */
	protected Map<IBatPosition, IBatMapCase> _listPosition = null;

	/** taille X*/
	protected int _sizeX;
	
	/** taille Y*/
	protected int _sizeY;
	
	/**
	 * Constructeur
	 */
	public BatMap(int pSizeX,int pSizeY)
	{
		_sizeX = pSizeX;
		_sizeY = pSizeY;
		_listPosition = new HashMap<IBatPosition, IBatMapCase>();
	}
	
	public int getSizeX()
	{
		return _sizeX;
	}
	
	public int getSizeY()
	{
		return _sizeY;		
	}
	
	public void addCase(IBatMapCase pCase )
	{
		_listPosition.put(pCase.getPosition(),pCase);
	}

	@Override
	public IBatMapCase getCase(IBatPosition pPosition)
	{
		return _listPosition.get(pPosition);
	}

	@Override
	public List<IBatMapCase> getNeighbour(IBatPosition pPosition)
	{
		List<IBatMapCase> result = new ArrayList<IBatMapCase>();
		// voisin de droite
		// voisin de gauche
		// voisin du haut droit
		// voisin du haut gauche
		// voisin du bas droit
		// voisin du bas gauche
		return result;
	}

}
